<?php namespace Admin\Controller; 
use Hdphp\Controller\Controller;
//后台默认控制器
/*此类不能继承CommonController类，因为会进入登录死循环*/

class LoginController extends Controller{
	//管理员登录
	public function index(){
		//当管理员提交时：
		if(IS_POST){
			/*1.检验验证码*/
			$code = q('post.code',null,'strtoupper');
			if($code!=$_SESSION['code']){
				View::error('验证码输入错误');
			}
			/*2.检验账户*/
			$account = q('post.account');
			//从数据库scn_admin表中的account查找
			$data = Db::table('admin')->where('account',$account)->get();
			//用户名不存在时	
			if(!$data) View::error('用户名或者密码错误');
			/*3.验证密码*/			
			$password = q('post.password',null,'md5');	//要md5加密
			//与数据库中scn_admin表中用户的密码对比
			if($password != $data[0]['password']){
				View::error('用户名或密码输入错误');
			}
			/*4.登录成功*/	
						
			//获取上次登录时间
			$oldSignTime = Db::table('admin')->where('account',$account)->pluck('signTime');
			//获取当前登录时间
			$signTime = time();
			//更新admin表中登录时间
			Db::table('admin')->where('account',$account)->update(['signTime'=>$signTime]);
			//获取当前登录IP
			$signIp = Request::ip();
			//更新admin表中登录Ip地址
			Db::table('admin')->where('account',$account)->update(['signIp'=>$signIp]);
			//存session信息		
			$_SESSION['info'] = [
		    	'account'=>$account,		//账户
		    	'oldSignTime'=>$oldSignTime,		//上次登录时间
				'aid'=>$data[0]['aid']
		    ];
			View::success('登录成功','Index/index');
		}		
		View::make();
	}
	
	//显示验证码
	public function code(){
		//num 验证码数量
		Code::num(1)->background('#FFFFFF')->height(42)->make();
	}
	
	//退出
	public function out(){
		//清session
		session_unset();
		session_destroy();
		//跳转到登陆页面
		go(U('Login/index'));		
	}
}
